//
//  HMVisitorTableViewController.swift
//  Weibo
//
//  Created by teacher on 2017/6/5.
//  Copyright © 2017年 teacher. All rights reserved.
//

import UIKit
//  访客视图控制器
class HMVisitorTableViewController: UITableViewController {
    
    //  是否登录的标记
    var isLogin: Bool = HMUserAccountViewModel.sharedViewModel.isLogin
    //  访客视图
    var visitorView: HMVisitorView?
    
    //  loadView的目的: 就是自定义控制器的视图
    override func loadView() {
        if isLogin {
            //  登录成功
            //  可以使用系统给我们提供的视图， 这个视图tableView
            super.loadView()
        } else {
            //  没有登录
            setupNavUI()
            //  创建访客视图
            visitorView = HMVisitorView()
            //  设置代理对象
            visitorView?.delegate = self
            //  设置登录执行闭包
            visitorView?.loginCallBack = { [unowned self] in
                self.enterOAuthVC()
            }
            
            view = visitorView
            
        }
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    
    //  设置导航栏按钮
    private func setupNavUI() {
        
        // 自定义视图的UIBarButtonItem构造方法
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", target: self, action: #selector(registerButtonAction))
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", target: self, action: #selector(loginButtonAction))
        
    }
    
    //  MARK:   --导航栏按钮点击事件
    @objc private func registerButtonAction() {
        
        print("注册")
        enterOAuthVC()
    }
    
    @objc private func loginButtonAction() {
        print("登录")
        enterOAuthVC()
    }
    
    //  OAuth登录界面
    private func enterOAuthVC() {
        let oauthVC = HMOAuthViewController()
        let nav = HMNavigationController(rootViewController: oauthVC)
        self.present(nav, animated: true, completion: nil)
        
    }
}

//  MARK:   -- HMVisitorViewDelegate
extension HMVisitorTableViewController: HMVisitorViewDelegate {
    
    func loginOperation() {
        print("我是代理对象调用过来的")
    }

}
